typeORM配置

吴龙淼 写于 2022-03-30

安装

npm install typeorm -g npm install @nestjs/typeorm typeorm mysql2 -S

基本使用

数据模型

let Photo = {
  id: number;
  name: string;
  description: string;
  filename: string;
  views: number;
}

对象映射

import { Entity, Column, PrimaryColumn,PrimaryGeneratedColumn  } from "typeorm";

@Entity()
export class Photo {
  // 自动生成的主键
  // @PrimaryGeneratedColumn
  // 主键
  @PrimaryColumn()
  id: number;

  @Column()
  name: string;
  // 创建特定的数据库数据类型
  @Column('text')
  description: string;

  @Column('double')
  views: number;

  @Column()
  filename: string;

  @Column()
  isPublished: boolean;
}

数据库连接配置

import "reflect-metadata"; //加载单个实体
import { createConnection } from "typeorm";
import { newobject } from "./entity/newobject"; //加载单个实体

createConnection({
  name: 'test',
  type: "mysql",
  host: "localhost",
  port: 3306,
  username: "root",
  password: "admin",
  database: "test",
  entities: [newobject],// [__dirname + "/entity/*.js"],加载目录下的所有实体
  synchronize: true,
})
  .then((connection) => {
    // 这里可以写实体操作相关的代码
  })
  .catch((error) => console.log(error));


获得实体对象
getConnection().manager.find(newobject)
getManager().find(newobject)
getConnection().getRepository(newobject).find()
getRepository(newobject).find()